python的包导入问题(一)from . import 的使用 您所在的位置:网站首页 on a from的意思 python的包导入问题(一)from . import 的使用

python的包导入问题(一)from . import 的使用

2023-11-06 15:09| 来源: 网络整理| 查看: 265

必备知识:from . import,“.”  代表使用相对路径导入,即从当前项目中寻找需要导入的包或函数

一、问题描述:

工作项目内的__init__文件初始化一个函数func,同一工作目录的 ccc模块 调用该函数,可以用:

(1)from file03 import func(2)from . import func

然后执行func(),让ccc执行时,打印‘----’

但是使用 第(2)种方法调用func后,当ccc被执行时报错如下:

from . import func

SystemError: Parent module '' not loaded, cannot perform relative import

(提示父模块没有加载,无法展示导入关系)

而使用第(1)种导入方法

导入时不存在这样的报错

二、下面用项目外的py文件导包使func执行:

现在我在工作目录下新建一个py文件test(test与file03平级),使用test调用ccc,让函数func打印内容:

此时若在ccc使用方法(2)导入函数,test执行不会发生报错

可以正常打印

三、拓展:

       在file03 下新建py文件,使用 from . import ccc,该文件被执行时,也会报同样的错误,而用from file03 import ccc不会报错,说明使用 . 导包和使用 . 导函数一样也不能正常执行

四、结论:

py文件若含有from . import 导包或导入函数的情况,无法在该文件下正常执行,而父模块被外部加载时可以正常被使用。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有